home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 1.toast / Sample Code / Networking / OTStreamLogViewer / IC Libraries / ICDebug.p < prev    next >
Encoding:
Text File  |  2000-09-28  |  1.4 KB  |  57 lines  |  [TEXT/CWIE]

  1. unit ICDebug;
  2.  
  3. (*    This file is part of the Internet Configuration system and is placed in the public domain for the benefit of all.
  4.  
  5.     Useful debugging macros and such.
  6. *)
  7.  
  8. interface
  9.  
  10.     uses
  11.         Types;            // Make sure to pick up DebugStr!
  12.         
  13. {$ifc undefined icDebug}
  14.     {$setc icDebug:=false}
  15. {$endc}
  16.  
  17. {$ifc icDebug}
  18.     {$definec ICAssert(mustBeTrue) begin if not (mustBeTrue) then DebugStr('ICAssert: Assertion failed! ; sc') end}
  19.     {$definec ICDebugStr(message) begin DebugStr('ICDebugStr: ' + message + '; sc') ; end}
  20.  
  21.     {$definec ICParamCheck(err, mustBeTrue, message) begin if (err = noErr) & not (mustBeTrue) then begin ICDebugStr('ICParamCheck: ' + message + '; sc'); err := paramErr; end; end}
  22. {$elsec}
  23.     {$definec ICAssert(mustBeTrue) }
  24.     {$definec ICDebugStr(message) }
  25.     {$definec ICParamCheck(err, mustBeTrue, message) begin if (err = noErr) & not (mustBeTrue) then begin err := paramErr; end; end}
  26. {$endc}
  27.  
  28.  
  29. implementation
  30.  
  31.     uses
  32.         Errors;
  33.  
  34.     procedure ICDebugTest;
  35.         var
  36.             err : OSStatus;
  37.             a, b : integer;
  38.     begin
  39.         a := 1;
  40.         b := 1;
  41.         ICAssert(a = b);
  42.         ICDebugStr('abcd');
  43.         err := noErr;
  44.         ICParamCheck(err, a = b, 'abcd');
  45.     end; (* Test *)
  46.  
  47. {$ifc false}
  48.     procedure ICParamCheck(var err : OSStatus; mustBeTrue : Boolean; message : Str255);
  49.     begin
  50.         if (err = noErr) & not mustBeTrue then begin
  51.             ICDebugStr(message);
  52.             err := paramErr;
  53.         end; (* if *)
  54.     end; (* ICParamCheck *)
  55. {$endc}    
  56.  
  57. end. (* ICDebug *)